package com.ym.medical.domain.param;


import com.ym.common.constant.BeanCovert;
import com.ym.medical.domain.entity.NavDestHisEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;


@Data
@ApiModel(value = "HIS部门信息")
public class NavDestHisParam extends BeanCovert<NavDestHisEntity>{
	@ApiModelProperty("id")
	@NotNull(message = "id不能为空!", groups = {Update.class})
	private Long id;

	@ApiModelProperty("医院名称")
	@Size(max = 64, message = "医院名称长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String hosName;

	@ApiModelProperty("医院编码")
	@Size(max = 32, message = "医院编码长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String hosCode;

	@ApiModelProperty("科室名称")
	@Size(max = 64, message = "科室名称长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String deptName;

	@ApiModelProperty("科室编码")
	@Size(max = 32, message = "科室编码长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String deptCode;

	@ApiModelProperty("科室临床属性(0-临床,1-辅诊,2-护理单元,3-机关,9-其他)")
	@Size(max = 2, message = "科室临床属性(0-临床,1-辅诊,2-护理单元,3-机关,9-其他)长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String clinicAttr;

	@ApiModelProperty("科室门诊住院属性(0-门诊,1-住院,2-门诊住院,9-其他)")
	@Size(max = 2, message = "科室门诊住院属性(0-门诊,1-住院,2-门诊住院,9-其他)长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String outpOrInp;

	@ApiModelProperty("类别(01科室/02诊室)")
	@Size(max = 2, message = "类别(01科室/02诊室)长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String deptType;

	@ApiModelProperty("诊室名称")
	@Size(max = 64, message = "诊室名称长度必须在{min}和{max}之间")
	private String roomName;

	@ApiModelProperty("诊室编码")
	@Size(max = 32, message = "诊室编码长度必须在{min}和{max}之间")
	private String roomCode;

	@ApiModelProperty("关联云景医院编码")
	@Size(max = 32, message = "关联云景医院编码长度必须在{min}和{max}之间")
	private String yjHosCode;

	@ApiModelProperty("关联云景科室编码")
	@Size(max = 32, message = "关联云景科室编码长度必须在{min}和{max}之间")
	private String yjDeptCode;

	@ApiModelProperty("创建人")
	private Long creator;

	@ApiModelProperty("创建时间")
	@NotNull(message = "创建时间不能为空!")
	private Date createTime;

	@ApiModelProperty("修改人")
	private Long modifier;

	@ApiModelProperty("修改时间")
	@NotNull(message = "修改时间不能为空!")
	private Date modifyTime;

	@ApiModelProperty("科室描述")
	@Size(max = 65535, message = "科室描述长度必须在{min}和{max}之间")
	private String deptDesc;

	@ApiModelProperty("科室临床属性(0-临床,1-辅诊,2-护理单元,3-机关,9-其他)")
	private String clinicAttrName;

	@ApiModelProperty("科室门诊住院属性(0-门诊,1-住院,2-门诊住院,9-其他)")
	private String outpOrInpName;

	@ApiModelProperty("类别(01科室/02诊室)")
	private String deptTypeName;

	@ApiModelProperty("关联标识 (hosCode_deptCode)")
	private String yjHosDeptCode;

	public interface Add {

	}

	public interface Update {

	}

}
